原生js canvas实现鼠标跟随效果
<head>
// 初始透明度
starlist.splice(i, 1);
// 图像覆盖 显示方式 lighter 会将覆盖部分的颜色重叠显示出来
// 渲染
<canvas></canvas>
this.draw();
}
function render() {
myCanvas.height = window.innerHeight;
// 每一次根据改变后数组中的元素进行画圆圈 把原来的内容区域清除掉
源码展示:
this.a = 1;
// 将对象push到数组中,画出来的彩色小点可以看作每一个对象中记录着信息 然后存在数组中
}
ele.draw();
<script>
ctx.globalCompositeOperation = 'lighter'
// 开始画
this.y += this.vy;
<meta charset="utf-8">
#myCanvas {
// 当鼠标移动时 将鼠标坐标传入构造函数 同时创建一个对象
}
}
ctx.fill();
<pre>
init();
margin:0;
</html>
// 再star对象原型上封装方法
ctx.globalAlpha = this.a;
myCanvas.width = window.innerWidth;
return Math.floor((max - min) * Math.random() + min);
this.updata();
};
Star.prototype = {
padding:0;
var myCanvas = document.getElementById('myCanvas');
});
</script>
},
// 如果数组中存在透明度小的对象 ,给他去掉 效果展示逐渐消失
if (ele.a < 0.05) {
ctx.beginPath();
this.vx = (Math.random() - 0.5) * 3;
draw: function() {
// 随机数函数
// canvas根据数组中存在的每一个对象的小点信息开始画
function random(min, max) {
updata: function() {
function Star(x, y) {
background-color:#000;
// 设置生成随机数公式
// 根据偏移量更新每一个小点的位置
<html>
--王
ctx.clearRect(0, 0, myCanvas.width, myCanvas.height)
starlist.forEach(function(ele, i) {
this.y = y;
render();
var starlist = [];

// 将坐标存在每一个点的对象中
// 透明度越来越小
overflow:hidden;
this.vy = (Math.random() - 0.5) * 3;
感: 最近贡献一下我在教学中的小案例可以能给你一些帮助 ,希望继续关注我的博客

// 设置canvas区域的范围为整个页面
this.x = x;
};
</body>
var ctx = myCanvas.getContext("2d");
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
* {
this.a *= 0.98;
// 设置随机偏移量
});
<title>canvas鼠标跟随效果(原生js实现)</title>
}
</head>
body {
function init() {
this.color = 'rgb(' + random(0, 256) + ',' + random(0, 256) + ',' + random(0, 256) + ')';
ctx.arc(this.x, this.y, 30, 0, Math.PI * 2, false);
// 根据存在数组中的每一位对象中的信息画圆
<!doctype html><style>
myCanvas.addEventListener('mousemove', function(e) {
</pre>
</style>
this.x += this.vx;
requestAnimationFrame(render);
}
<body>
window.onresize = init;
ctx.fillStyle = this.color;
starlist.push(new Star(e.offsetX, e.offsetY));
}
// 监听屏幕大小改变 重新为canvas大小赋值
// 构造函数
<script src=""></script>
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jz/wp/5363.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
ludou_se_only); } add_action(s
时间:2021-01-23
-
所以经常导致输错密码的
时间:2021-01-23
-
WordPress措施打开速度慢的
时间:2021-01-22
-
WordPress回覆评论自动添加
时间:2021-01-22
-
我们可以通过下面的代码
时间:2021-01-22
-
如何修改WordPress默认脚色
时间:2021-01-20
-
同样的修改文件就行
时间:2021-01-20
-
少数善意的转载者既使没
时间:2021-01-20
热门文章
-
WordPress新手安装教程(图文)
时间:2020-12-28
-
在设置菜单中增加WordPress私密 隐藏的全部
时间:2021-01-10
-
WordPress博客程序常见错误的解决方法
时间:2020-12-28
-
WordPress程序打开速度慢的三种解决方法
时间:2021-01-10
-
wordpress使用代码在每篇文章尾部添加版权
时间:2020-12-14
-
WordPress博客措施常见错误的办理要领
时间:2021-01-15
-
关于WordPress的SEO优化相关的一些PHP页面脚
时间:2021-01-07
-
WordPress措施打开速度慢的三种办理要领
时间:2021-01-22
-
详解WordPress中的头像缓存和署理中的缓存
时间:2021-01-15
-
少数善意的转载者既使没有看到版权信息
时间:2021-01-20
